//这里边写的是vue项目的配置信息，如端口号等
import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

export default defineConfig({
  plugins: [
    vue(),
  ],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    },
  },

  //server：代表是要做服务相关的配置
  server: {
    //proxy: 指的是要配置一些代理
    proxy: {
      //获取路径中包含了/api的请求，这里的'/api'是指：请求路径中，是否有带/api这部分的路径，如果有/api,就对其进行处理
      '/api': {

        target: 'http://localhost:8081', //target：指的是，如果要更换源，要更换成谁，就写谁，这里写的是后台服务所在的源

        changeOrigin: true, //changeOrigin：指的是，是否要更换换源

        secure: false, // 如果目标服务器无 HTTPS，需关闭安全验证

        /**
         * 当前我的 Vite 版本 v6.2.4
         * Vite 6.x 对代理配置的底层实现进行了优化，rewrite 函数的触发条件和路径处理方式有所变化。需要显式指定 configure 选项来修改代理行为。
         */
        configure: (proxy) => {
          proxy.on('proxyReq', (proxyReq, req) => {
            console.log('🚀 http://localhost:8081 代理请求被触发');
            proxyReq.path = req.url.replace(/^\/api/, '')
          })
        }
      }
    }
  }
})
